package com.kymatrix.kycarbon.xsmd.system.server.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kymatrix.kycarbon.xsmd.system.server.model.entity.UserEntity;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.InsertUserReq;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.ListQueryUserResp;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.PageQueryUserReq;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.PageQueryUserResp;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.QueryUserAuthResp;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.QueryUserResp;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.UpdateUserPwdReq;
import com.kymatrix.kycarbon.xsmd.system.server.model.form.user.UpdateUserReq;
import java.util.List;

public interface IUserService extends IService<UserEntity> {
    
    
    UserEntity getByUserName(String username);

    String save(InsertUserReq req);

    void update(UpdateUserReq req);

    QueryUserResp getUser(String id);

    void editPassword(UpdateUserPwdReq req);

    void deleteUser(String id);

    Page<PageQueryUserResp> pageQuery(PageQueryUserReq req);

    QueryUserAuthResp auth(String id);

    List<ListQueryUserResp> list(String username);

    UserEntity authenticate(String username, String password);
}
